BASE64:PHN1Yzpub3RlbmFtZT50b20zNjXnlLXop4bliac8L3N1Yz4NCjxzdWM6bGFuZ3VhZ2U+dXRmLTg8L3N1Yz4NCjxzdWM6bWFjdGh0eXBlPnJlZ2V4PC9zdWM+DQo8c3VjOmNvc29ydD5kZXNjPC9zdWM+DQo8c3VjOnNlcnZlcl9pZD4xPC9zdWM+DQo8c3VjOnBsYXllcj5xdm9kPC9zdWM+DQo8c3VjOmNhdF9pZD4yPC9zdWM+DQo8c3VjOnZhcnVybD5odHRwOi8vd3d3LnRvbTM2NS5jb20vbW92aWVfMjAwNC9tbGlzdC84X1twYWdlXS5odG1sPC9zdWM+DQo8c3VjOnZhcnN0YXJ0PjE8L3N1Yz4NCjxzdWM6dmFyZW5kPjQyPC9zdWM+DQo8c3VjOmFkZHY+MTwvc3VjPg0KPHN1YzpsaXN0dXJsPjwvc3VjPg0KPHN1YzpwYWdlcmVwYWQ+e3N1Yzp0cmltIHJlcGxhY2U9Jyd9PGEoW14+XSopPjxpbWcoW14+XSopPiguKik8L2E+ey9zdWN9PC9zdWM+DQo8c3VjOmxpbmthcmVhPjxkaXYgY2xhc3M9Im1saXN0Ij5bIS0tbWUtLV08ZGl2IGNsYXNzPSJwYWdlcyI+PC9zdWM+DQo8c3VjOm5lZWQ+PC9zdWM+DQo8c3VjOmNhbm5vdD48L3N1Yz4NCjxzdWM6dGl0bGU+PHN0cm9uZyBpZD0ibW5hbWUiPlshLS1tZS0tXTwvc3Ryb25nPjwvc3VjPg0KPHN1Yzp0aXRsZV90cmltPntzdWM6dHJpbX1cWyguKilcXXsvc3VjfTwvc3VjPg0KPHN1YzphY3Rvcj7kuLvjgIDjgIDmvJTvvJpbIS0tbWUtLV08L2xpPjwvc3VjPg0KPHN1YzphY3Rvcl90cmltPjwvc3VjPg0KPHN1YzpkaXJlY3Rvcj7lr7zjgIDjgIDmvJTvvJpbIS0tbWUtLV08L2xpPjwvc3VjPg0KPHN1YzpkaXJlY3Rvcl90cmltPntzdWM6dHJpbX0tLXsvc3VjfTwvc3VjPg0KPHN1YzppbWFnZT48ZGl2IGNsYXNzPSJtb3ZpZSI+PGltZyBzcmM9IlshLS1tZS0tXSI8L3N1Yz4NCjxzdWM6aW1hZ2VfdHJpbT48L3N1Yz4NCjxzdWM6cHViZGF0ZT48L3N1Yz4NCjxzdWM6cHViZGF0ZV90cmltPjwvc3VjPg0KPHN1YzpzdGF0dXM+PC9zdWM+DQo8c3VjOnN0YXR1c190cmltPjwvc3VjPg0KPHN1YzphcmVhPuWcsOOAgOOAgOWMuu+8mlshLS1tZS0tXTwvbGk+PC9zdWM+DQo8c3VjOmFyZWFfdHJpbT48L3N1Yz4NCjxzdWM6bGFuZz48L3N1Yz4NCjxzdWM6bGFuZ190cmltPjwvc3VjPg0KPHN1YzpkZXRhaWw+PGRpdiBjbGFzcz0ibWRpc2MiPlshLS1tZS0tXTwvZGl2Pjwvc3VjPg0KPHN1YzpkZXRhaWxfdHJpbT57c3VjOnRyaW19XFsoLiopXF17L3N1Y308L3N1Yz4NCjxzdWM6cnVucGhwPjE8L3N1Yz4NCjxzdWM6dXJsPjwvc3VjPg0KPHN1Yzp1cmxfdHJpbT48L3N1Yz4NCjxzdWM6cnVucGhwX2NvZGU+JHNwdGFnID0gJ1shLS1tZS0tXSc7ICAgDQppZihzdHJwb3MoJGJvZHksICdRVk9E5aSH55So5qih5byP5pKt5pS+JykgPT09IGZhbHNlKXsNCgkkYXJlYVJ1bGUgPSAnPHVsIGNsYXNzPSJtY3QiPlshLS1tZS0tXTwvdWw+JzsNCn1lbHNlew0KCSRhcmVhUnVsZSA9ICdRVk9E5aSH55So5qih5byP5pKt5pS+WyEtLW1lLS1dPC91bD4nOw0KfQ0KCSRhZGRyZXNzID0gZ2V0X2h0bWxfc3BsaXQoJHNwdGFnLCAkYXJlYVJ1bGUsIEBib2R5KTsNCiAgICAgICAgJGFkZHJlc3MgPSBzdHJfcmVwbGFjZSgnPC9saT48L2E+JywgJzwvYT4nLCAkYWRkcmVzcyApOw0KICAgICAgICAgJG1hdGNoX2FkZHJlc3MgPSBnZXRfYWxsX2xpbmsoJGFkZHJlc3MpOw0KDQoJJGogPSAwOw0KCSR1cmxzPSAnJzsNCgkkYWRkcmVzc0FycmF5ID0gJG1hdGNoX2FkZHJlc3NbJ3VybCddOw0KCSRuYW1lQXJyYXkgPSAkbWF0Y2hBcnJheVsnbmFtZSddOw0KDQoJaWYoaXNfYXJyYXkoJGFkZHJlc3NBcnJheSkgJiYgY291bnQoJGFkZHJlc3NBcnJheSk+MCkNCgl7DQoJCQkkaiA9IDA7DQoJCQkkdXJsID0nJzsNCgkJIGZvcmVhY2goJGFkZHJlc3NBcnJheSBhcyAka2V5ID0+ICR2YWx1ZSkNCgkJIHsNCgkJCSAkdmFsdWUgPSBleHBsb2RlKCc/JywgJHZhbHVlKTsNCg0KCQkJIGlmKHN0cmxlbigkbmFtZUFycmF5WyRrZXldKSA8NykNCgkJCSB7DQoJCQkJIGlmKCRrZXk8OSkNCgkJCQkJCQkkdXJsbmFtZSA9ICfnrKwwJy4oJGtleSsxKS4n6ZuGJzsNCgkJCQkgZWxzZQ0KCQkJCQkJCSR1cmxuYW1lID0gJ+esrCcuKCRrZXkrMSkuJ+mbhic7DQoJCQkgfQ0KCQkJIGVsc2UNCgkJCSB7DQoJCQkJICR1cmxuYW1lID0gJG5hbWVBcnJheVska2V5XTsNCgkJCSB9DQogICAgICAgcHJlZ19tYXRjaF9hbGwoIi8ldVswLTlBLVphLXpdezR9fCUuezJ9fFswLTlhLXpBLVouKy1fXSsvIiwgJHZhbHVlWzFdLCAkbWF0Y2hlcyk7DQogICAgICAgICRhciA9ICYkbWF0Y2hlc1swXTsNCiAgICAgICAgJGMgPSAiIjsNCiAgICAgICAgZm9yZWFjaCgkYXIgYXMgJHZhbCkNCiAgICAgICAgew0KICAgICAgICAgICAgaWYgKHN1YnN0cigkdmFsLCAwLCAxKSAhPSAiJSIpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAgJGMgLj0gJHZhbDsNCiAgICAgICAgICAgIH0gZWxzZWlmIChzdWJzdHIoJHZhbCwgMSwgMSkgIT0gInUiKQ0KICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICR4ID0gaGV4ZGVjKHN1YnN0cigkdmFsLCAxLCAyKSk7DQogICAgICAgICAgICAgICAgJGMgLj0gY2hyKCR4KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIGVsc2UNCiAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAkdmFsID0gaW50dmFsKHN1YnN0cigkdmFsLCAyKSwgMTYpOw0KICAgICAgICAgICAgICAgIGlmICgkdmFsIDwgMHg3RikgLy8gMDAwMC0wMDdGDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkYyAuPSBjaHIoJHZhbCk7DQogICAgICAgICAgICAgICAgfSBlbHNlaWYgKCR2YWwgPCAweDgwMCkgLy8gMDA4MC0wODAwDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkYyAuPSBjaHIoMHhDMCB8ICgkdmFsIC8gNjQpKTsNCiAgICAgICAgICAgICAgICAgICAgJGMgLj0gY2hyKDB4ODAgfCAoJHZhbCAlIDY0KSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGVsc2UgLy8gMDgwMC1GRkZGDQogICAgICAgICAgICAgICAgew0KICAgICAgICAgICAgICAgICAgICAkYyAuPSBjaHIoMHhFMCB8ICgoJHZhbCAvIDY0KSAvIDY0KSk7DQogICAgICAgICAgICAgICAgICAgJGMgLj0gY2hyKDB4ODAgfCAoKCR2YWwgLyA2NCkgJSA2NCkpOw0KICAgICAgICAgICAgICAgICAgICAkYyAuPSBjaHIoMHg4MCB8ICgkdmFsICUgNjQpKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgICBpZihzdHJwb3MoJHZhbHVlWzFdLCAncXZvZCcpID09PSBmYWxzZSkgew0KCQkJCQkJCQkgICAkc2VydmVyPSAicXZvZDovLyI7DQoJCQkJCQkJfWVsc2UNCiAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAkc2VydmVyPSAiIjsNCiAgICAgICAgICAgICAgIH0NCg0KICAgIA0KCQkJICR1cmxzIC49ICR1cmxuYW1lIC4nQEAnLiRzZXJ2ZXIuJGMuIlxuIjsNCgkJIH0NCg0KCX0NCgkNCkBtZSA9ICR1cmxzOzwvc3VjPg0KPHN1YzpzYXZlcGljPjA8L3N1Yz4NCg==:END